package br.com.ff.usuario.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.ff.commons.dao.BaseDAOImpl;
import br.com.ff.usuario.entidade.Usuario;
import br.com.ff.usuario.to.UsuarioTO;

public class UsuarioDAOImpl extends BaseDAOImpl implements UsuarioDAO {

	public UsuarioDAOImpl(EntityManager entityManager) {
		super(entityManager);
	}

	@Override
	public List<Usuario> findByParams(UsuarioTO usuarioTO) {
		
		String queryStr = "SELECT object(u) FROM Usuario u ";
		
		String login = usuarioTO.getLogin();
		boolean loginFlag = false;
		
		if (login != null && !login.equals("")) {
			queryStr += "WHERE u.login = :loginP";
			loginFlag = true;
		}
		
		Query query = getEntityManager().createQuery(queryStr);
		
		if (loginFlag) {
			query.setParameter("loginP", login);
		}
		
		List<Usuario> usuarios = query.getResultList();
		return usuarios;
	}

}
